Exploring Checkpointing and Closed Nesting in Distributed Transactional Memory
نویسندگان
چکیده
Checkpointing and closed nesting are mechanisms typically used for implementing partial roll-back in transactional systems. Closed nesting limits the amount of work to redo on an abort by allowing sub-transactions to abort and retry independently from their parents. Checkpointing goes further and allows a transaction to be rolled back to any previous point where a checkpoint was saved. Checkpointing thus enables very fine-grained rollbacks. In this paper we focus on understanding the performance considerations of closed nesting and checkpointing in Distributed Transactional Memory (DTM). We extend an existing DTM algorithm, TFA, with support for the two partial rollback models, and implement it in the Hyflow2 opensource DTM framework for the JVM. We then perform a thorough evaluation to determine their behavior, implementation overheads, and favorable conditions.
منابع مشابه
On Closed Nesting in Distributed Transactional Memory
Distributed Software Transactional Memory (D-STM) is a recent but promising model for programming distributed systems. It aims to present programmers with a simple to use abstraction (transactions), while maintaining performance and scalability similar to distributed fine-grained locks. Any complications usually associated with such locks (i.e. distributed deadlock) are avoided. Building upon t...
متن کاملParallel nesting in a lock-free multi-version Software Transactional Memory
Many applications contain large operations that must be performed atomically, which typically leads to many conflicts in optimistic concurrency control mechanisms such as those used by most Transactional Memory (TM) systems. Yet, sometimes these operations could be executed faster if their latent parallelism was used efficiently, but unfortunately few TM systems allow a transaction to be split ...
متن کاملOn Open Nesting in Distributed Transactional Memory: Technical Report
Distributed Transactional Memory (DTM) is a recent but promising model for programming distributed systems. It aims to present programmers with a simple to use distributed concurrency control abstraction (transactions), while maintaining performance and scalability similar to distributed fine-grained locks. Any complications usually associated with such locks (e.g., distributed deadlocks) are a...
متن کاملPractical and Lock-free Parallel Nesting for Software Transactional Memory
Transactional Memory (TM) provides a strong abstraction to tackle the challenge of synchronizing concurrent tasks that access shared state. Yet, at the same time, TM inhibits the programmer from fully exploring the latent parallelism in his application. In particular, it does not allow a transaction to contain parallel code. This fact limits the expressiveness of TM as a synchronization mechani...
متن کاملNested Transactional Memory: Model and Preliminary Architecture Sketches
We offer a reference model for nested transactions at the level of memory accesses, and sketch possible hardware architecture designs that implement that model. We describe both closed and open nesting. The model is abstract in that it does not relate to hardware, such as caches, but describes memory as seen by each transaction, memory access conflicts, and the effects of commits and aborts. Th...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2013